diff --git a/system/application/errors/error_php.php b/system/application/errors/error_php.php
index 9bba5b8..f085c20 100644
--- a/system/application/errors/error_php.php
+++ b/system/application/errors/error_php.php
@@ -7,4 +7,4 @@
 <p>Filename: <?php echo $filepath; ?></p>
 <p>Line Number: <?php echo $line; ?></p>
 
-</div>
+</div>
\ No newline at end of file
diff --git a/system/libraries/Controller.php b/system/libraries/Controller.php
index b1feee8..922382a 100644
--- a/system/libraries/Controller.php
+++ b/system/libraries/Controller.php
@@ -32,8 +32,6 @@
 	var $_ci_scaffolding	= FALSE;
 	var $_ci_scaff_table	= FALSE;
 	
-
-	
 	/**
 	 * Constructor
 	 *
diff --git a/system/libraries/Loader.php b/system/libraries/Loader.php
index aaeee7f..7c42123 100644
--- a/system/libraries/Loader.php
+++ b/system/libraries/Loader.php
@@ -181,8 +181,17 @@
 			return DB($params, $active_record);
 		}
 
+		// Grab the super object
 		$CI =& get_instance();
-		$CI->db =& DB($params, $active_record);			
+		
+		// Initialize the db variable.  Needed to prevent   
+		// reference errors with some configurations
+		$CI->db = '';
+		
+		// Load the DB class
+		$CI->db =& DB($params, $active_record);	
+		
+		// Assign the DB object to any existing models
 		$this->_ci_assign_to_models();
 	}
 	
@@ -828,11 +837,6 @@
 	 */
 	function _ci_assign_to_models()
 	{
-		if (count($this->_ci_models) == 0)
-		{
-			return;
-		}
-
 		if ($this->_ci_is_instance())
 		{
 			$CI =& get_instance();
diff --git a/user_guide/changelog.html b/user_guide/changelog.html
index 8ad7fef..258216e 100644
--- a/user_guide/changelog.html
+++ b/user_guide/changelog.html
@@ -64,10 +64,7 @@
 
 
 <h2>Version 1.5.0 Beta 3</h2>
-<p>Release Date: October 19, 2006</p>
-
-<p class="important"><strong>Important:</strong>&nbsp; In Beta 3, the way native libraries are extended has changed slightly thanks to
-a suggestion offered by coolfactor in our forums.  Please check the documentation below if you are extending classes.</p>
+<p>Release Date: October 25, 2006</p>
 
 <ul>
 <li>Added <a href="./database/utilities.html">DB utility class</a>, permitting DB backups, CVS or XML files from DB results, and various other functions.</li>
@@ -95,6 +92,8 @@
 <li>Fixed a bug in the Email class related to SMTP Helo data.</li>
 <li>Fixed a bug in the validation class.</li>
 <li>Fixed a bug in the typography helper that was incorrectly wrapping block level elements in paragraph tags.</li>
+<li>Fixed a problem in the form_prep() function that was double encoding entities.</li>
+<li>Fixed a bug that affects some versions of PHP when output buffering is nested.</li>
 <li><strong>Deprecated "init" folder</strong>.  Initialization happens automatically now.  <a href="creating_libraries.html">Please see documentation</a>.</li>
 <li><strong>Deprecated</strong> $this->db->field_names()  USE  $this->db->list_fields()</li>
 <li><strong>Deprecated</strong> the <dfn>$config['log_errors']</dfn> item from the config.php file.  Instead, <dfn>$config['log_threshold']</dfn> can be set to "0" to turn it off.</li>
